package com.gp.service;

import com.gp.model.dto.Appraises;
import com.gp.model.dto.GoodsDetailDto;
import com.gp.model.entity.BaseGoods;

import java.io.Serializable;
import java.util.Map;

import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.IService;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author 弓成龙
 * @since 2017-11-26
 */
public interface IBaseGoodsService extends IService<BaseGoods> {
  
  /**
   * 插入一个商品
   * @param baseGoods 商品的封装类
   * @return 插入是否成功
   */
  public boolean insertGoods(GoodsDetailDto goods);
   
  /**
   * 获取商品的详情的信息
   * @param id 商品的id
   * @return GoodsDetailDto
   */
  public GoodsDetailDto selectGoodsById(Serializable id);
  
  /**
   * 搜索商品列表
   * @param page 搜索条件
   * @return 商品数据集合
   */
  public Page<BaseGoods> listGoods(Page<BaseGoods> page);
  
  /**
   * 删除一件商品
   * @param id 需要删除商品的id
   * @return 是否删除成功
   */
  public boolean deleteById(String id);
  
  /**
   * 获取商品的评论信息
   * @param l 商品的id
   * @param l 查询条件
   * @return
   */
  public Page<Appraises> listGoodsAppraises(Page<Appraises> page,Map condition);
}
